package com.yixin.hospital.entity.dto.req.user;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yixin.hospital.entity.domain.UserDeptWorkAddress;
import com.yixin.hospital.entity.vo.UserDetailVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
@ApiModel("编辑员工请求体")
public class UserEditReqDTO {
    @ApiModelProperty(value = "用户id", example = "1")
    @NotNull(message = "用户id不能为空")
    private Long id;
    @NotBlank(message = "工号不能为空")
    private String jobNumber;
    @NotBlank(message = "工号姓名不能为空")
    private String name;
    private String sex;
    @NotBlank(message = "手机号不能为空")
    private String phone;
    @NotBlank(message = "身份证号")
    private String idCard;
    @NotBlank(message = "学历")
    private String education;
    @ApiModelProperty(value = "部门id", example = "1")
    private List<UserDeptWorkAddress> userDeptAndWorkAddressVOList;
    @ApiModelProperty(value = "转正时间", example = "2024-03-16 00:00:00")
    private Date toRealWorkerTime;
    @ApiModelProperty(value = "入职时间", example = "2024-03-16 00:00:00")
    private Date joinTime;
    @ApiModelProperty(value = "离职时间", example = "2024-03-16 00:00:00")
    private Date leaveTime;
    @ApiModelProperty(value = "用户状态(0-待审核 1-在职 2-离职)", example = "1")
    private Integer status;
    @ApiModelProperty(value = "职称", example = "1")
    private Long jobTitle;
    @ApiModelProperty(value = "职业", example = "1")
    private Long job;
    @ApiModelProperty(value = "科室", example = "[1,2,3]")
    private List<Long> jobOfficeList;
    @ApiModelProperty(value = "职务预设期限（天）", example = "30")
    private Integer jobDutyDay;
    @ApiModelProperty(value = "职务列表", example = "[1,2,3]")
    private List<Long> jobDutyList;
    @ApiModelProperty(value = "工作类型", example = "1")
    private Long jobType;
    @ApiModelProperty(value = "挂号费", example = "5")
    private BigDecimal registerPrice;
    @ApiModelProperty(value = "菜单列表", example = "[1,2,3]")
    private List<Long> menuList;
    @ApiModelProperty(value = "库权限列表", example = "")
    private List<UserDetailVO.DrugDepositoryUserAuthVo> drugDepositoryUserAuthList;

}
